package br.edu.univas.jobmanager.view;

import java.awt.BorderLayout;

import javax.swing.JFrame;
import javax.swing.JOptionPane;

import br.edu.univas.jobmanager.controller.ControllerCategorias;
import br.edu.univas.jobmanager.controller.ControllerPrincipal;
import br.edu.univas.jobmanager.entity.Categoria;
import br.edu.univas.jobmanager.listener.GravaCategoriaListener;

public class FrameCategoria extends JFrame implements GravaCategoriaListener{
	private static final long serialVersionUID = 438725148501131098L;
	
	private PanelDadosCategoria panelDados;
	private PanelGravarLimparButtons _panelButtons;
	
	private ControllerCategorias _controller;
	public FrameCategoria(ControllerPrincipal _controllerPrincipal) {
		super("Gerenciar Categorias");
		_controller = new ControllerCategorias(this,_controllerPrincipal);
		setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		initialize();
		setLocationRelativeTo(null);
		setResizable(false);
		pack();
	}

	private void initialize() {
		add(getPanelDados(),BorderLayout.CENTER);
		add(getPanelButtons(),BorderLayout.SOUTH);
		
	}

	private PanelDadosCategoria getPanelDados() {
		if(panelDados == null){
			panelDados = new PanelDadosCategoria();
		}
		return panelDados;
	}

	private PanelGravarLimparButtons getPanelButtons() {
		if(_panelButtons == null){
			_panelButtons = new PanelGravarLimparButtons();
			_panelButtons.setListener(_controller.getListener());
		}
		return _panelButtons;
	}

	@Override
	public Categoria getCategoria() {
		return getPanelDados().getCategoria();
	}

	@Override
	public void clean() {
		getPanelDados().cleanField();
		
	}

	@Override
	public void showMessage(String message) {
		JOptionPane.showMessageDialog(this, message);
		
	}

	
	
}
